home *** CD-ROM | disk | FTP | other *** search
Modula Definition | 1997-02-15 | 4.5 KB | 96 lines |
- (*************************************************************************
-
- :Program. XpkSubD.def
- :Contents. structure definitions for XpkSub libraries
- :Author. Oliver Knorr
- :Remark. Derived from Hartmut Goebel's Oberon Interface
- :Remark. This is yet untested!
- :Copyright. Copyright © 1992 by Oliver Knorr
- :Copyright. May be freely distributed with the Xpk-Package
- :Copyright. permission is given to be included with M2Amiga
- :Language. Modula-2
- :Translator. M2Amiga V4.0
- :History. V1.0, 29 Jul 1992 Oliver Knorr
- :History. V2.0, 30 Jul 1992 Oliver Knorr
- :Date. 30 Jul 1992 01:45:17
-
- *************************************************************************)
-
- DEFINITION MODULE XpkSubD;
- (*$ Implementation:=FALSE *)
-
- FROM XpkMasterD IMPORT StrPtr, XpkModePtr, XpkInfoFlagSet ;
- FROM SYSTEM IMPORT ADDRESS ;
-
- (**************************************************************************
- *
- * The XpkInfo structure
- *
- *)
-
- (* Sublibs return this structure to xpkmaster when asked nicely
- * This is version 1 of XpkInfo. It's not #define'd because we don't want
- * it changing automatically with recompiles - you've got to actually update
- * your code when it changes.
- *)
-
- TYPE
-
- XpkInfoPtr = POINTER TO XpkInfo;
- XpkInfo = RECORD
- xpkInfoVersion : INTEGER ; (* Version number of this structure *)
- libVersion : INTEGER ; (* The version of this sublibrary *)
- masterVersion : INTEGER ; (* The required master lib version *)
- modesVersion : INTEGER ; (* Version number of mode descriptors *)
- name : StrPtr ; (* Brief name of the packer *)
- longName : StrPtr ; (* Full name of the packer *)
- description : StrPtr ; (* One line description of packer *)
- id : LONGINT ; (* ID the packer goes by (XPK format) *)
- flags : XpkInfoFlagSet ; (* Defined in XpkMasterD.def *)
- maxPkInChunk : LONGINT ; (* Max input chunk size for packing *)
- minPkInChunk : LONGINT ; (* Min input chunk size for packing *)
- defPkInChunk : LONGINT ; (* Default packing chunk size *)
- packMsg : StrPtr ; (* Packing message, present tense *)
- unpackMsg : StrPtr ; (* Unpacking message, present tense *)
- packedMsg : StrPtr ; (* Packing message, past tense *)
- unpackedMsg : StrPtr ; (* Unpacking message, past tense *)
- defModes : INTEGER ; (* Default mode number *)
- pad : INTEGER ; (* for future use *)
- modeDesc : XpkModePtr ; (* Array of (MaxMode+1) individual
- descriptors *)
- reserved : ARRAY [0..5] OF ADDRESS; (* Future expansion - set to zero *)
- END;
-
-
- (**************************************************************************
- *
- * The XpkSubParams structure
- *
- *)
-
- XpkSubParamsFlags = (stepDown, (* May reduce pack eff. to save mem *)
- prevChunk, (* Previous chunk available on unpack *)
- xspf2, xspf3, xspf4, xspf5, xspf6, xspf7,
- xspf8, xspf9, xspf10, xspf11, xspf12, xspf13,
- xspf14, xspf15, xspf16, xspf17, xspf18, xspf19,
- xspf20, xspf21, xspf22, xspf23, xspf24, xspf25,
- xspf26, xspf27, xspf28, xspf29, xspf30, xspf31);
- XpkSubParamsFlagSet = SET OF XpkSubParamsFlags;
-
- XpkSubParamsPtr = POINTER TO XpkSubParams;
- XpkSubParams = RECORD
- inBuf : ADDRESS ; (* The input data *)
- inLen : LONGINT ; (* The number of bytes to pack *)
- outBuf : ADDRESS ; (* The output buffer *)
- outBufLen : LONGINT ; (* The length of the output buf *)
- outLen : LONGINT ; (* Number of bytes written *)
- flags : XpkSubParamsFlagSet ; (* Flags for master/sub comm. *)
- number : LONGINT ; (* The number of this chunk *)
- mode : LONGINT ; (* The packing mode to use *)
- password : ADDRESS ; (* The password to use *)
- arg : ARRAY [0..3] OF ADDRESS ; (* Reserved; don't use *)
- sub : ARRAY [0..3] OF ADDRESS ; (* Sublib private data *)
- END;
-
- END XpkSubD.noimp
-